package com.sdb.clinic.service;

import java.util.List;
import com.sdb.clinic.domain.TdRegister;

/**
 * 挂号Service接口
 * 
 * @author yyh
 * @date 2025-01-08
 */
public interface ITdRegisterService 
{
    /**
     * 查询挂号
     * 
     * @param registerId 挂号主键
     * @return 挂号
     */
    public TdRegister selectTdRegisterByRegisterId(Long registerId);

    /**
     * 查询挂号列表
     * 
     * @param tdRegister 挂号
     * @return 挂号集合
     */
    public List<TdRegister> selectTdRegisterList(TdRegister tdRegister);

    /**
     * 查询今日挂号列表
     *
     * @param tdRegister 挂号
     * @return 挂号集合
     */
    List<TdRegister> selectTodayTdRegisterList(TdRegister tdRegister);


    /**
     * 查询历史挂号列表
     *
     * @param tdRegister 挂号
     * @return 挂号集合
     */
    List<TdRegister> selectHistoryTdRegisterList(TdRegister tdRegister);

    /**
     * 待发药患者
     *
     * @param tdRegister 挂号
     * @return 待发药挂号集合
     */
    List<TdRegister> selectWaitTdRegisterList(TdRegister tdRegister);

    /**
     * 新增挂号
     * 
     * @param tdRegister 挂号
     * @return 结果
     */
    public int insertTdRegister(TdRegister tdRegister);

    /**
     * 新增预约挂号
     *
     * @param tdRegister 预约挂号
     * @return 结果
     */
    public int insertBookTdRegister(TdRegister tdRegister);

    /**
     * 修改挂号
     * 
     * @param tdRegister 挂号
     * @return 结果
     */
    public int updateTdRegister(TdRegister tdRegister);

    /**
     * 批量删除挂号
     * 
     * @param registerIds 需要删除的挂号主键集合
     * @return 结果
     */
    public int deleteTdRegisterByRegisterIds(Long[] registerIds);

    /**
     * 删除挂号信息
     * 
     * @param registerId 挂号主键
     * @return 结果
     */
    public int deleteTdRegisterByRegisterId(Long registerId);


    int updateStatus(String clinicId);

    int insertPersonTdRegister(TdRegister tdRegister);

    List<TdRegister> listUserRegister(TdRegister tdRegister);
}
